Sysma v2, documentation administrateur

Cette documentation est destinée aux administrateurs de Sysma, elle présente les principales options de paramétrage de l'application.

Information importante :

Cette page contient la documentation figée au 16/12/2020

La documentation utilisateurs sera dorénavant maintenue ici: https://gitlab.sevre-nantaise.com/eptbsn/sysma-tickets/-/wikis/manuel/V02/administrateur


L'aide utilisateur est disponible au lien suivant : lien public


Pour toutes demandes (hors mot de passe) et rapports de bugs, merci d'utiliser le système de dépôt de tickets :https://gitlab.sevre-nantaise.com/eptbsn/sysma-tickets/-/issues.

Sommaire

Préalables[modifier]

Les commentaire apparaissant sous la forme [MUT : xxxxxx] sont valables pour les instances mutualisées de Sysma hébergées par l'EPTB Sèvre Nantaise.

[MUT : sysma et base postgres] : Sysma vous est livré avec une base de données Postgres dédiée. Cette base contient les données nécessaire au fonctionnement de sysma. Comme le cadre de la mutualisation va plus loin pour certaines structures (cadastre mutualisé en PdL, têtes de BV ..) , nous avons mis à disposition une batterie d'éléments dans cette base pour pouvoir répondre à chacun des ces besoins. Vos données sont isolées dans une base indépendante, propre à votre structure et peuvent être récupérées facilement (backup) pour fonctionner sur un autre serveur postgres que le notre (notion de portabilité des données).

[MUT : Les mots de passe][modifier]

Lors de la fourniture de votre instance de Sysma, plusieurs identifiants et mots de passe vous sont fournis :

Il s'agit d'un compte utilisateur de Sysma, ayant les droits les plus élevés. Ce compte permet de créer de nouveaux utilisateurs (y compris des administrateurs) et de gérer les droits de tous les comptes sur les types d'objet et de travaux.


Le schémas cadastre_actuel_mutualise ainsi que ceux de type rxNNN... et xx_NNN... restent totalement administrées par l'EPTBSN pour le bon fonctionnement des outils .


Sur les instances mutualisées, c'est l'EPTB SN qui attribue les droits. Si vous avez besoin de création de comptes supplémentaires, merci de nous en faire la demande par courriel (ne pas utiliser de système de dépôt de ticket pour ce type de demande).

La base de données Sysma[modifier]

Accéder à la base de données Sysma[modifier]

Attention : vous accédez à la base de données interne de Sysma, une erreur de manipulation peut empêcher l'outil de fonctionner correctement ou bien entrainer une perte de données. Avant toute modification, il est recommandé d'effectuer une sauvegarde de votre base de données.

Avec un outil de type PGAdmin https://www.pgadmin.org/download/pgadmin-4-windows/ (ou autre), paramétrez votre accès à la base de données Sysma à partir des informations utilisées lors de l'installation [MUT : ou fournies par l'EPTB SN].

Pour QGIS, de manière générale (que ce soit cadre de l’administration de Sysma ou tous vos projets qui accèdent à une base de données), nous vous conseillons d'utiliser le système d'authentification exemple : https://docs.qgis.org/2.14/fr/docs/user_manual/auth_system/auth_overview.html afin de sécuriser le contenu de vos fichiers projet QGIS.

Une fois connecté, vous accédez aux schémas sysma et sysma_couches.

Organisation de la base de données[modifier]

La base de données sysma comporte par défaut 2 schémas, le modèle de données de bases mutualisées est mis à jour régulièrement pour vous faire bénéficier des améliorations de notre base centrale de production  :

Schéma sysma[modifier]

Il s'agit du schéma principal de Sysma, il contient les tables systèmes et le stockage des valeurs saisies par les utilisateurs. Toute modification dans ce schéma doit être réalisée avec précaution, uniquement sur les tables listées dans la présente documentation.

Schéma sysma_couches[modifier]

Il ne faut pas créer de vues ni de vues matérialisées (au sens SQL) stockées dans votre base postgres à partir des tables de ce schéma car ces éléments pourraient être supprimés automatiquement (Par un DROP CASCADE).

Ce schéma contient un "export" des données sysma dans un format compatible avec les logiciels SIG (format classique un objet par ligne, paramètres en colonnes).

Les tables contenus dans ce schéma sont générés automatiquement par Sysma depuis le menu Bilan & SIG / Couches SIG. Leur contenu ne doit pas être modifié, toute modification manuelle sera écrasée lors de la prochaine génération des couches par Sysma.

[MUT Autres schémas et couches fournies pour les instances mutualisées][modifier]

Schéma d'import[modifier]
Couches utiles fournies par défaut (référentiels)[modifier]

Il ne faut pas créer de vues ni de vues matérialisées (au sens SQL) stockées dans votre base postgres à partir des tables de ce schéma car ces éléments pourraient être supprimés automatiquement (Par un DROP CASCADE).

Pour les instances mutualisées, l'EPTBSN fournit une série de couches sur le territoire de la structure bénéficiaire. Ces données sont collectées par l'EPTBSN de façon automatisée et distribuées par territoire. L'idée est de faire gagner du temps à tout le monde afin de ne pas reproduire dans son coin les étapes fastidieuses d'import de données. Si vous avez des besoins supplémentaires, n'hésitez pas à nous en faire part, cela bénéficiera à tous. Il faut que la données soit accessible aux structure publiques et que l'accès, le téléchargement et l'import soit automatisable : idéalement service WFS à défaut, url du fichier stable ou prédictible.

Ces couches (vues _sg) peuvent être utilisées dans Sysma comme couches utiles. Les autres couches dans votre logiciel SIG.

Schémas de type mNNN et rNNN[modifier]

Ce sont des schémas vides. L'administrateur pourra y organiser vos données (solution utilisées en production à l'EPTBSN).

Nous pourrons créer d'autres schémas automatiquement à votre demande pour répondre à différentes thématiques.

Schémas totalement administrées par l'EPTBSN[modifier]

Les schémas suivants restent totalement administrés par l'EPTBSN pour le bon fonctionnement des outils.

.

Modèle de données du schéma sysma[modifier]

-- afficher la liste des tables et les éléments de compréhension :

WITH table_list AS (
SELECT  table_schema, table_name FROM  information_schema.tables WHERE  table_schema='sysma'
--and table_name ilike '{%'
)

, comment_table_liste as (
  SELECT  table_schema, table_name ,
    xx_99_utils.f_rtn_table_comment(
	    table_schema::NAME,
	    table_name::NAME) as t_comment
	    FROM table_list order by table_name

    )
, comment_table_liste_json_format AS (
    SELECT * 
    , CASE 
    WHEN t_comment ilike '{%' THEN t_comment::json 
    ELSE '{
   "display_groupe_order":0,
   "groupe_name":"groupe_name A DEFINIR",
   "table_comment":"table_comment A DEFINIR"
}'::json
    END::json as comment_json
      from comment_table_liste
      )
    
    ,aff as (
	select -- 'aff' as aff_type 
    
    (comment_json::json->>'groupe_name')::text AS groupe_name 
	--, table_schema
	, table_name 
    , (comment_json::json->>'table_comment')::text AS comment_table
	, (comment_json::json->>'display_groupe_order')::numeric as display_groupe_order
    
    from comment_table_liste_json_format
    order by (comment_json::json->>'display_groupe_order')::numeric asc
			)
, wiki as (
		select 'wiki'::text as groupe_name 
		, null::name table_name
		, string_agg ( '|-
| ' || groupe_name || ' || ' || table_name || ' || ' || comment_table, '
') as comment_table
	, 9999999::numeric as display_groupe_order
	FROM aff --order by aff.display_groupe_order
	)		
	
	select * from aff
	union all
	select * from wiki
	order by display_groupe_order

Groupe Table Commentaire
Configuration de sysma sysma_conf Liste des paramètres de l'application
Configuration de sysma autres_couches Liste des couches au format SIG standard utilisées par exemple en affichage dans la zone couches utiles...
Configuration de sysma couchesign Liste des couches IGN Géoportail
Configuration de sysma structures Liste des structures intervenant dans la gestion des milieux aquatiques et pouvant être maître d'ouvrage
Configuration de sysma contrats Liste des contrats
Configuration de sysma statuts Liste des statuts possibles des objets et des travaux
Configuration de sysma filtres Liste de filtres possibles à appliquer sur les type d'objet ou types de travaux
Configuration de sysma layer_group Liste des groupes de couches sysma
Gestion des utilisateurs utilisateurs_droits Gestion des droits des utilisateurs sur les objets sysma
Gestion des utilisateurs utilisateurs Liste des utilisateurs et contributeurs à la bdd
Gestion du dictionnaire de données types_travaux_parametres liste des paramètres à suivre pour chaque type de travaux
Gestion du dictionnaire de données types_travaux Liste des types de travaux pouvant être menés
Gestion du dictionnaire de données choix_parametre_objetgeo Liste de choix pour un parametre d'un type d'objet
Gestion du dictionnaire de données types_objetgeo_parametres Liste des paramètres pour chaque type d'objet
Gestion du dictionnaire de données choix_parametre_travaux Liste des choix de valeur possibles pour un paramètre travaux
Gestion du dictionnaire de données choix_type_donnee Liste des choix de types de données disponibles
Gestion du dictionnaire de données types_objetgeo Types d'objets CRE renseignables dans la BDD, équivaut en terme de SIG aux couches
Données saisies objetsgeo Les objets géographiques positionnables sur une carte (physiques)
Données saisies travaux Les travaux menés sur les objets physiques
Données saisies l_objetgeo_travaux Liaison en les objets cre et les travaux qui s'y appliquent
Données saisies at Analyses thématiques
Données saisies donnees_objetgeo Contient les données pour chaque paramètre descriptif des objets
Données saisies donnees_travaux Contient les données sur les travaux menés
Données saisies objetsphotos Liste des fichiers photo liés
Données saisies UI l_style_utilisateur Liste de styles à appliquer pour l'utilisateur
Données saisies UI l_at_utilisateur Table de lien entre les analyses thématiques pour chaque utilisateur
Données saisies UI l_couchegeo_utilisateur Table des couches géo choisie par l'utilisateur pour être affichable sur sa carte
Données saisies UI l_coucheign_utilisateur Table des couches ign choisie par l'utilisateur pour être affichable sur sa carte
Données saisies UI l_coucheref_utilisateur Table des couches référentiels choisies par l'utilisateur pour être affichable sur sa carte
Données saisies UI l_filtre_utilisateur Choix de l'utilisateur pour l'usage de filtres
Données saisies UI l_group_user Choix de l'utilisateur pour l'affichage des groupes de couches sysma
Données saisies UI l_type_objetgeo_utilisateur Table de lien des types d'objet à afficher dans le layermanager pour chaque utilisateur
Données saisies UI l_type_travaux_utilisateur Table de lien des types de travaux à afficher dans le layermanager pour chaque utilisateur
Données saisies UI user_views Vues (sélection de couches visibles) enregistrées par l'utilisateur
Surveillance rapports_import Rapport d'import de données par lot
Surveillance connexions Suivi des connexions des utilisateurs
Surveillance x99_t_track_historiquetables Suivi des modifications réalisées dans sysma
Déprécié ? l_autre_couche_utilisateur Déprécié ?Table de lien des autres couches à afficher dans le layermanager pour chaque utilisateur
ADMINITRATION EPTBSN versions_schema Stocke la version du schema de sysma installée sur cette instance
ADMINITRATION EPTBSN versions_schema_ddl Track ddl actions usefull for schema versioning (Data definition language)

schema_sysma_modele_donnees_simple.png

Cliquer pour voir le modèle de données

Configurer votre instance de Sysma[modifier]

Les variables de l'application[modifier]

[MUT : A l'exception de la clé de l'API IGN pour les fonds de carte, ces variables sont pré-renseignées par l'EPTB SN lors de la fourniture de votre instance]

Une partie des variables utilisées par Sysma sont stockées dans la table sysma.sysma_conf. Le champ valeur peut être adapté à vos besoins. On trouve en particulier :


Note : Il faudra certainement se déconnecter de Sysma et se reconnecter pour que les modifications soient prises en charge.

Paramétrage de la clé de l'API IGN (affichage des fonds de carte IGN)[modifier]

Structures (maîtrise d'ouvrage des travaux)[modifier]

Les modifications sont à apporter dans la table sysma.structures.


Vous pouvez ajouter de nouvelles structures à tout moment en ajoutant une ligne à cette table et en renseignant les champs structure et sigle (id_structure est renseigné automatiquement).

Contrats (financement des travaux)[modifier]

Les modifications sont à apporter dans la table sysma.contrats.

Vous pouvez modifier la ligne id_contrat = 1 et ajouter de nouvelles lignes en renseignant contrat et ordre (les autres champs sont automatiques).

Ajouter et paramétrer des couches utiles[modifier]

[MUT : un premier lot de couches utiles est automatiquement ajouté à votre instance]

Les couches utiles sont des couches géographiques affichées dans Sysma mais non modifiables.

Pour ajouter une couche utile, utilisez la table sysma.autres_couches.

3 champs sont nécessaires :

Paramétrer des analyses thématiques et des filtres[modifier]

Dans sysma, les couches sont filtrables et peuvent faire l'objet d'analyses thématiques, c'est à dire d'une mise en forme variable selon la valeur d'un de leur paramètre. La création des filtres et analyses thématiques doit être réalisée depuis la base de données:

Filtres[modifier]

Utilisez la table sysma.filtres pour déclarer un filtre qui sera ensuite utilisable par tous vos utilisateurs sur les couches objet ou travaux.

Analyses thématiques[modifier]

Faire varier la mise en forme des objets selon un valeur de paramètre.

Utilisez la table sysma.at pour créer une analyse thématique.

Analyse de type "Classes"[modifier]

Pour les analyse sur des numériques (de 0 à 10, de 10 à 15 etc.)

Exemple, valeur de "style" :

{
	"De 0 à 0.2m":{		
		"min": "0",
		"max": "0.2",
		"style":{"color": "#0000ff","fillOpacity":"0.5","weight": "3"}
	}, 
        "De 0.2 à 0.5 m":{		
		"min": "0.2", "max":"0.5",
		"style":{"color": "#00ccFF","fillOpacity":"0.5","weight": "3"}
	}, 
        "De 0.5 à 1m":{		
		"min": "0.5", "max":"1",
		"style":{"color": "#00FF00","fillOpacity":"0.5","weight": "3"}
	}, 
        "Plus de 1m":{		
		"min": "1", "max":"200",
		"style":{"color": "#ff0000","fillOpacity":"0.5","weight": "3"}
	},
       "defaut":{"style":{"color":"#cccccc","fillOpacity":"0.5","weight": "3"}}
}
Analyse de type "Valeurs"[modifier]

Pour appliquer des styles selon la valeur précise du paramètre (pour du texte) ("bon" => bleu, "moyen" => jaune, "mauvais" => rouge)

Exemple de valeur de "style" :

{
  "descente amenagee":{"style":{"fillColor":"#ff0000","color":"#ff0000","fillOpacity":"0.8","weight": "3"}},
  "pompe a nez":{"style":{"fillColor":"#66ff00","color":"#66ff00","fillOpacity":"0.8","weight": "3"}},
   "bac d abreuvement gravitaire":{"style":{"fillColor":"#0066ff","color":"#0066ff","fillOpacity":"0.8","weight": "3"}},
   "bac d abreuvement autre":{"style":{"fillColor":"#003366","color":"#003366","fillOpacity":"0.8","weight": "3"}},
   "defaut":{"style":{"fillColor":"#cccccc","color":"#cccccc","fillOpacity":"0.5","weight": "3"}}
}
Analyse de type "Gradient"[modifier]

Pour appliquer un gradient de couleur automatique sur une valeur numérique ( de 0 vert à 50 rouge, en 5 classes).

Exemple de valeur de "style" :

{
  "min":{"style":{"color":"#b3ff1a","weight": "3"}},
  "max":{"style":{"color":"#ff0000","weight": "3"}},
  "nb_classes":5,
  "defaut":{"style":{"color":"#cccccc","fillOpacity":"0.5","weight": "3"}}
}

Gérer les utilisateurs[modifier]

[MUT : comptes pré-déclarés][modifier]

Les instances mutualisées disposent de plusieurs comptes pré-déclarés :

Comptes par défaut[modifier]

Déclaration des utilisateurs[modifier]

Il est fortement recommandé de créer des comptes nominatifs utilisés par une seule personne à la fois. Ne créez pas des comptes "structure" communs, mais des comptes par personne afin de pouvoir définir finement les droits associés, d'éviter les conflits en cas de modifications simultanées d'un même utilisateur, et de distinguer les modifications réellement apportées par chaque utilisateur à la base de données.

Utilisez des mots de passe forts, cf. ci-dessous.

Pour déclarer un nouveau compte se rendre dans la partie administration, puis cliquer sur "Nouvel utilisateur" :

Droits des utilisateurs[modifier]

Droits d’administration[modifier]

Les droits d'administration Sysma doivent être limités à quelques utilisateurs formés en conséquence.

Les droits d'administration permettent à un utilisateur de créer de nouveaux utilisateurs, ajouter, modifier ou supprimer des droits aux autres utilisateurs ou sur son propre compte.

Une fois le compte créé, se rendre à nouveau dans le compte (bouton "compte") puis dans la champ droits, ajouter la valeur {administrateur}

Droit d'accès au cadastre[modifier]

Les informations du cadastre sont nominatives et à ce titre soumises à des précautions d'utilisation (limites fixés dans le cadre de la convention DGFIP et/ou CNIL). L'ouverture de l'accès à ces information est de la responsabilité de l'administrateur de l'instance de Sysma.

Une fois le compte créé, se rendre à nouveau dans le compte (bouton "compte") puis dans la champ droits, ajouter la valeur {cadastre}. Pour un utilisateur également administrateur la valeur sera {administrateur,cadastre}.

Schéma d'import de données[modifier]

Pour permettre à un utilisateur l'import de données dans Sysma depuis un schéma PG, la valeur "Schema PostgreSQL" du compte doit être renseignée et doit contenir le nom du schema où se trouve les données à importer.

Compte activé/désactivé[modifier]

Un compte peut être désactivé/ré-activé à tout moment depuis la modification du compte (champ "comtpe activé"). Un compte désactivé empêche l’utilisateur de se connecter.

Droits des utilisateurs sur les objets et travaux[modifier]

Ce paramétrage est accessible depuis le bouton "Droits sur les objets et travaux" de l’interface d'administration.

Principe : Plusieurs droits peuvent être définis successivement. A chaque action réalisée par l'utilisateur dans Sysma, l'outil vérifie que l’utilisateur en cours dispose bien des droits suffisants décrits dans un ou l'autre des droits déclarés.

Déclarer de nouveaux types d'objet et de travaux dans le dictionnaire[modifier]

Le dictionnaire Sysma peut être utilisé pour décrire tous types d'objet et de travaux associés, sur toutes thématiques métier.


Types d'objet[modifier]

Depuis le menu Dictionnaire, le bouton Créer permet de déclarer un nouveau type d'objet géographique

Paramètres de types d'objet[modifier]

Depuis la fiche dictionnaire d'un type d'objet, utilisez le bouton Créer un nouveau paramètre :

Types de travaux[modifier]

champs DIG - TODO à consolider

Gestion des coûts[modifier]

Si la gestion des coûts est activée dans Sysma, l'outil proposera à chaque création de fiche travaux un coût basé sur :

Paramètres de types de travaux[modifier]

Même principe que paramètres de types d'objet.


Exemple SQL avancé[modifier]

Exemple de sélection directement dans les données sysma des travaux programmés au contrat "CT EAU (2021-2026)"

WITH 
  travaux AS (
      SELECT 
	  t.id_travaux
	  , t.id_type_travaux 
      , tt.type_travaux
      FROM sysma.travaux t
      LEFT JOIN sysma.types_travaux tt on (tt.id_type_travaux = t.id_type_travaux)
		WHERE t.contrats::text ilike '%CT EAU (2021-2026)%' -- Filtre sur contrat choix multiple 
		AND t.statut = 'programme' -- filtre sur le statu
	)
SELECT 
	row_number() over() as gid
	, t.id_type_travaux
	, t.id_travaux
	, xx_99_utils.f_html_no_html_specials_chars(t.type_travaux) ::text as type_travaux
	, xx_99_utils.f_html_no_html_specials_chars(toj.type_objetgeo) ::text as type_objetgeo
	, o.id_objetgeo
	, ST_multi(st_buffer(o.geom,0,1))::geometry(multipolygon, 2154) as geom  
	, o.objetgeo
	, toj.type_geometrie
	FROM 
	travaux t 
	LEFT JOIN sysma.l_objetgeo_travaux ot ON (t.id_travaux = ot.id_travaux)
	LEFT JOIN sysma.objetsgeo o ON (o.id_objetgeo = ot.id_objetgeo)
	LEFT JOIN sysma.types_objetgeo toj ON (toj.id_type_objetgeo = o.id_type_objetgeo)

Plugins de restitution des données (fiches bilan spécifiques à des thématiques métiers)[modifier]

TODO

Automatisations[modifier]

TODO